package org.qsoft.common;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * @author kk
 *
 */
public class ContextLoaderServlet extends HttpServlet {

	private String[] contextConfigLocation = null;

	public ContextLoaderServlet() {
		super();
	}

	public void destroy() {
		super.destroy();
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		out
				.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		out.println("<HTML>");
		out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
		out.println("  <BODY>");
		out.print("    This is ");
		out.print(this.getClass());
		out.println(", Load All Spring Beans. </BODY>");
		out.println("</HTML>");
		out.flush();
		out.close();
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

	}

	public void init() throws ServletException {
		String contextConfigLocationString = this.getServletContext()
				.getInitParameter("contextConfigLocation");
		if (contextConfigLocationString != null) {
			this.contextConfigLocation = contextConfigLocationString.split(",");
		}

		ApplicationContext applicationContext = new ClassPathXmlApplicationContext(
				this.contextConfigLocation);
		ContextFactory.ApplicationContext = applicationContext;
	}

}
